package com.ssy.lingxi.purchase.api.dto.request.tender;

import lombok.Data;

import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.util.List;

/**
 * 招标查询类
 * @author jw.chen
 * @version 2.0.0
 * @date 2021/3/1
 */
@Data
public class InviteTenderQueryRequest implements Serializable {
    private static final long serialVersionUID = -5641102138871570106L;

    /**
     * 当前页
     */
    @Positive(message = "当前页必须大于0")
    private int current;

    /**
     * 每页行数
     */
    @Positive(message = "每页行数必须大于0")
    private int pageSize;

    /**
     * 招标编号
     */
    private String inviteTenderCode;

    /**
     * 招标项目名
     */
    private String projectName;

    /**
     * 招标会员名称
     */
    private String inviteTenderMemberName;

    /**
     * 招标外部状态: inviteTenderOutStatusEnum.class
     */
    private List<Integer> inviteTenderOutStatusList;

    /**
     * 投标外部状态: submitTenderOutStatusEnum.class
     */
    private List<Integer> submitTenderOutStatusList;

    /**
     * 招标内部状态: InviteTenderInStatusEnum.class
     */
    private List<Integer> inviteTenderInStatusList;

    /**
     * 投标内部状态: SubmitTenderInStatusEnum.class
     */
    private List<Integer> submitTenderInStatusList;

    /**
     * 发布开始时间
     */
    private Long startTime;

    /**
     * 发布结束时间
     */
    private Long endTime;

    /**
     * 投标开始时间
     */
    private Long inviteTenderStartTime;

    /**
     * 投标结束时间
     */
    private Long inviteTenderEndTime;

    /**
     * 报名开始时间
     */
    private Long registerStartTime;

    /**
     * 报名结束时间
     */
    private Long registerEndTime;

    /**
     * 开标开始时间
     */
    private Long openTenderStartTime;

    /**
     * 开标结束时间
     */
    private Long openTenderEndTime;

    /**
     * 评标开始时间
     */
    private Long evaluationStartTime;

    /**
     * 评标结束时间
     */
    private Long evaluationEndTime;

    /**
     * 评标结束时间(当前时间是否小于评标截止时间)
     */
    private Boolean leEvaluationEndTime;

    /**
     * 是否查询未组建专家库的数据
     */
    private Boolean isNotExpertExtract;

    /**
     * 预审开始时间
     */
    private Long preCheckStartTime;

    /**
     * 预审结束时间
     */
    private Long preCheckEndTime;

    /**
     * 招标方式：1-公开招标; 2-系统匹配; 3-邀请招标;
     */
    private Integer inviteTenderType;

    /**
     * 分类id
     */
    private Long categoryId;

    /**
     * 是否只看未过期的
     */
    private Boolean overdue;

    /**
     * 省份
     */
    private String provinceCode;

    /**
     * 城市
     */
    private String cityCode;

    /**
     * 排序：1-代表信用积分将序; 2-代表信用积分升序;
     */
    private Integer orderType;

    /**
     * 商城id
     */
    private Long shopId;

    /**
     * 招标商城类型：1.企业商城 2.积分商城 3.渠道商城 4.渠道自有商城 5.渠道积分商城 6.采购门户
     */
    private Integer type;

    /**
     * 商城环境:1.web 2.H5 3.小程序 4.APP
     */
    private Integer environment;


    /**
     * 发布商城类型 1.企业商城 6.采购门户
     * （招标方式不为公开招标也需要记录用于区分b2b商城与采购门户中的采购能力-220418）
     */
    private Integer shopType;

}
